#ifndef __display_h
#define __display_h


#define  bit1           0x01
#define  bit2           0x02
#define  bit3           0x04
#define  bit4           0x08
#define  bit5           0x10
#define  bit6           0x20
#define  bit7           0x40
#define  bit8           0x80

#define  cbit1           b1111_1110
#define  cbit2           b1111_1101
#define  cbit3           b1111_1011
#define  cbit4           b1111_0111
#define  cbit5           b1110_1111
#define  cbit6           b1101_1111
#define  cbit7           b1011_1111
#define  cbit8           b0111_1111





#define  set1a  displayBuffer[0]|=bit1
#define  set1b  displayBuffer[0]|=bit2
#define  set1c  displayBuffer[0]|=bit3
#define  set1d  displayBuffer[0]|=bit4
#define  set1e  displayBuffer[0]|=bit5
#define  set1f  displayBuffer[0]|=bit6
#define  set1g  displayBuffer[0]|=bit7	
#define  set1h  displayBuffer[0]|=bit8	
                                  
#define  set2a  displayBuffer[1]|=bit1
#define  set2b  displayBuffer[1]|=bit2
#define  set2c  displayBuffer[1]|=bit3
#define  set2d  displayBuffer[1]|=bit4
#define  set2e  displayBuffer[1]|=bit5
#define  set2f  displayBuffer[1]|=bit6
#define  set2g  displayBuffer[1]|=bit7	
#define  set2h  displayBuffer[1]|=bit8	

#define  set3a  displayBuffer[2]|=bit1
#define  set3b  displayBuffer[2]|=bit2
#define  set3c  displayBuffer[2]|=bit3
#define  set3d  displayBuffer[2]|=bit4
#define  set3e  displayBuffer[2]|=bit5
#define  set3f  displayBuffer[2]|=bit6
#define  set3g  displayBuffer[2]|=bit7	
#define  set3h  displayBuffer[2]|=bit8	

#define  set4a  displayBuffer[3]|=bit1
#define  set4b  displayBuffer[3]|=bit2
#define  set4c  displayBuffer[3]|=bit3
#define  set4d  displayBuffer[3]|=bit4
#define  set4e  displayBuffer[3]|=bit5
#define  set4f  displayBuffer[3]|=bit6
#define  set4g  displayBuffer[3]|=bit7	
#define  set4h  displayBuffer[3]|=bit8	

#define  set5a  displayBuffer[4]|=bit1
#define  set5b  displayBuffer[4]|=bit2
#define  set5c  displayBuffer[4]|=bit3
#define  set5d  displayBuffer[4]|=bit4
#define  set5e  displayBuffer[4]|=bit5
#define  set5f  displayBuffer[4]|=bit6
#define  set5g  displayBuffer[4]|=bit7	
#define  set5h  displayBuffer[4]|=bit8	

#define  set6a  displayBuffer[5]|=bit1
#define  set6b  displayBuffer[5]|=bit2
#define  set6c  displayBuffer[5]|=bit3
#define  set6d  displayBuffer[5]|=bit4
#define  set6e  displayBuffer[5]|=bit5
#define  set6f  displayBuffer[5]|=bit6
#define  set6g  displayBuffer[5]|=bit7	
#define  set6h  displayBuffer[5]|=bit8	

#define  set7a  displayBuffer[6]|=bit1
#define  set7b  displayBuffer[6]|=bit2
#define  set7c  displayBuffer[6]|=bit3
#define  set7d  displayBuffer[6]|=bit4
#define  set7e  displayBuffer[6]|=bit5
#define  set7f  displayBuffer[6]|=bit6
#define  set7g  displayBuffer[6]|=bit7	
#define  set7h  displayBuffer[6]|=bit8	

#define  set8a  displayBuffer[7]|=bit1
#define  set8b  displayBuffer[7]|=bit2
#define  set8c  displayBuffer[7]|=bit3
#define  set8d  displayBuffer[7]|=bit4
#define  set8e  displayBuffer[7]|=bit5
#define  set8f  displayBuffer[7]|=bit6
#define  set8g  displayBuffer[7]|=bit7	
#define  set8h  displayBuffer[7]|=bit8	

#define  set9a  displayBuffer[8]|=bit1
#define  set9b  displayBuffer[8]|=bit2
#define  set9c  displayBuffer[8]|=bit3
#define  set9d  displayBuffer[8]|=bit4
#define  set9e  displayBuffer[8]|=bit5
#define  set9f  displayBuffer[8]|=bit6
#define  set9g  displayBuffer[8]|=bit7	
#define  set9h  displayBuffer[8]|=bit8	

#define  set10a  displayBuffer[9]|=bit1
#define  set10b  displayBuffer[9]|=bit2
#define  set10c  displayBuffer[9]|=bit3
#define  set10d  displayBuffer[9]|=bit4
#define  set10e  displayBuffer[9]|=bit5
#define  set10f  displayBuffer[9]|=bit6
#define  set10g  displayBuffer[9]|=bit7	
#define  set10h  displayBuffer[9]|=bit8	

#define  set11a  displayBuffer[10]|=bit1
#define  set11b  displayBuffer[10]|=bit2
#define  set11c  displayBuffer[10]|=bit3
#define  set11d  displayBuffer[10]|=bit4
#define  set11e  displayBuffer[10]|=bit5
#define  set11f  displayBuffer[10]|=bit6
#define  set11g  displayBuffer[10]|=bit7	
#define  set11h  displayBuffer[10]|=bit8	

#define  set12a  displayBuffer[11]|=bit1
#define  set12b  displayBuffer[11]|=bit2
#define  set12c  displayBuffer[11]|=bit3
#define  set12d  displayBuffer[11]|=bit4
#define  set12e  displayBuffer[11]|=bit5
#define  set12f  displayBuffer[11]|=bit6
#define  set12g  displayBuffer[11]|=bit7	
#define  set12h  displayBuffer[11]|=bit8	

#define  set13a  displayBuffer[12]|=bit1
#define  set13b  displayBuffer[12]|=bit2
#define  set13c  displayBuffer[12]|=bit3
#define  set13d  displayBuffer[12]|=bit4
#define  set13e  displayBuffer[12]|=bit5
#define  set13f  displayBuffer[12]|=bit6
#define  set13g  displayBuffer[12]|=bit7	
#define  set13h  displayBuffer[12]|=bit8	

#define  set14a  displayBuffer[13]|=bit1
#define  set14b  displayBuffer[13]|=bit2
#define  set14c  displayBuffer[13]|=bit3
#define  set14d  displayBuffer[13]|=bit4
#define  set14e  displayBuffer[13]|=bit5
#define  set14f  displayBuffer[13]|=bit6
#define  set14g  displayBuffer[13]|=bit7	
#define  set14h  displayBuffer[13]|=bit8	

#define  set15a  displayBuffer[14]|=bit1
#define  set15b  displayBuffer[14]|=bit2
#define  set15c  displayBuffer[14]|=bit3
#define  set15d  displayBuffer[14]|=bit4
#define  set15e  displayBuffer[14]|=bit5
#define  set15f  displayBuffer[14]|=bit6
#define  set15g  displayBuffer[14]|=bit7	
#define  set15h  displayBuffer[14]|=bit8	

#define  set16a  displayBuffer[15]|=bit1
#define  set16b  displayBuffer[15]|=bit2
#define  set16c  displayBuffer[15]|=bit3
#define  set16d  displayBuffer[15]|=bit4
#define  set16e  displayBuffer[15]|=bit5
#define  set16f  displayBuffer[15]|=bit6
#define  set16g  displayBuffer[15]|=bit7	
#define  set16h  displayBuffer[15]|=bit8	


#define  set17a  displayBuffer[16]|=bit1
#define  set17b  displayBuffer[16]|=bit2
#define  set17c  displayBuffer[16]|=bit3
#define  set17d  displayBuffer[16]|=bit4
#define  set17e  displayBuffer[16]|=bit5
#define  set17f  displayBuffer[16]|=bit6
#define  set17g  displayBuffer[16]|=bit7	
#define  set17h  displayBuffer[16]|=bit8	

#define  set18a  displayBuffer[17]|=bit1
#define  set18b  displayBuffer[17]|=bit2
#define  set18c  displayBuffer[17]|=bit3
#define  set18d  displayBuffer[17]|=bit4
#define  set18e  displayBuffer[17]|=bit5
#define  set18f  displayBuffer[17]|=bit6
#define  set18g  displayBuffer[17]|=bit7	
#define  set18h  displayBuffer[17]|=bit8	

#define  set19a  displayBuffer[18]|=bit1
#define  set19b  displayBuffer[18]|=bit2
#define  set19c  displayBuffer[18]|=bit3
#define  set19d  displayBuffer[18]|=bit4
#define  set19e  displayBuffer[18]|=bit5
#define  set19f  displayBuffer[18]|=bit6
#define  set19g  displayBuffer[18]|=bit7	
#define  set19h  displayBuffer[18]|=bit8	

#define  set20a  displayBuffer[19]|=bit1
#define  set20b  displayBuffer[19]|=bit2
#define  set20c  displayBuffer[19]|=bit3
#define  set20d  displayBuffer[19]|=bit4
#define  set20e  displayBuffer[19]|=bit5
#define  set20f  displayBuffer[19]|=bit6
#define  set20g  displayBuffer[19]|=bit7	
#define  set20h  displayBuffer[19]|=bit8	

#define  set21a  displayBuffer[20]|=bit1
#define  set21b  displayBuffer[20]|=bit2
#define  set21c  displayBuffer[20]|=bit3
#define  set21d  displayBuffer[20]|=bit4
#define  set21e  displayBuffer[20]|=bit5
#define  set21f  displayBuffer[20]|=bit6
#define  set21g  displayBuffer[20]|=bit7	
#define  set21h  displayBuffer[20]|=bit8	







#define  clr1a  displayBuffer[0]&=cbit1
#define  clr1b  displayBuffer[0]&=cbit2
#define  clr1c  displayBuffer[0]&=cbit3
#define  clr1d  displayBuffer[0]&=cbit4
#define  clr1e  displayBuffer[0]&=cbit5
#define  clr1f  displayBuffer[0]&=cbit6
#define  clr1g  displayBuffer[0]&=cbit7	
#define  clr1h  displayBuffer[0]&=cbit8	
      
#define  clr2a  displayBuffer[1]&=cbit1
#define  clr2b  displayBuffer[1]&=cbit2
#define  clr2c  displayBuffer[1]&=cbit3
#define  clr2d  displayBuffer[1]&=cbit4
#define  clr2e  displayBuffer[1]&=cbit5
#define  clr2f  displayBuffer[1]&=cbit6
#define  clr2g  displayBuffer[1]&=cbit7	
#define  clr2h  displayBuffer[1]&=cbit8	
        
#define  clr3a  displayBuffer[2]&=cbit1
#define  clr3b  displayBuffer[2]&=cbit2
#define  clr3c  displayBuffer[2]&=cbit3
#define  clr3d  displayBuffer[2]&=cbit4
#define  clr3e  displayBuffer[2]&=cbit5
#define  clr3f  displayBuffer[2]&=cbit6
#define  clr3g  displayBuffer[2]&=cbit7	
#define  clr3h  displayBuffer[2]&=cbit8	
      
#define  clr4a  displayBuffer[3]&=cbit1
#define  clr4b  displayBuffer[3]&=cbit2
#define  clr4c  displayBuffer[3]&=cbit3
#define  clr4d  displayBuffer[3]&=cbit4
#define  clr4e  displayBuffer[3]&=cbit5
#define  clr4f  displayBuffer[3]&=cbit6
#define  clr4g  displayBuffer[3]&=cbit7	
#define  clr4h  displayBuffer[3]&=cbit8	
        
#define  clr5a  displayBuffer[4]&=cbit1
#define  clr5b  displayBuffer[4]&=cbit2
#define  clr5c  displayBuffer[4]&=cbit3
#define  clr5d  displayBuffer[4]&=cbit4
#define  clr5e  displayBuffer[4]&=cbit5
#define  clr5f  displayBuffer[4]&=cbit6
#define  clr5g  displayBuffer[4]&=cbit7	
#define  clr5h  displayBuffer[4]&=cbit8	
      
#define  clr6a  displayBuffer[5]&=cbit1
#define  clr6b  displayBuffer[5]&=cbit2
#define  clr6c  displayBuffer[5]&=cbit3
#define  clr6d  displayBuffer[5]&=cbit4
#define  clr6e  displayBuffer[5]&=cbit5
#define  clr6f  displayBuffer[5]&=cbit6
#define  clr6g  displayBuffer[5]&=cbit7	
#define  clr6h  displayBuffer[5]&=cbit8	
        
#define  clr7a  displayBuffer[6]&=cbit1
#define  clr7b  displayBuffer[6]&=cbit2
#define  clr7c  displayBuffer[6]&=cbit3
#define  clr7d  displayBuffer[6]&=cbit4
#define  clr7e  displayBuffer[6]&=cbit5
#define  clr7f  displayBuffer[6]&=cbit6
#define  clr7g  displayBuffer[6]&=cbit7	
#define  clr7h  displayBuffer[6]&=cbit8	
      
#define  clr8a  displayBuffer[7]&=cbit1
#define  clr8b  displayBuffer[7]&=cbit2
#define  clr8c  displayBuffer[7]&=cbit3
#define  clr8d  displayBuffer[7]&=cbit4
#define  clr8e  displayBuffer[7]&=cbit5
#define  clr8f  displayBuffer[7]&=cbit6
#define  clr8g  displayBuffer[7]&=cbit7	
#define  clr8h  displayBuffer[7]&=cbit8	
        
#define  clr9a  displayBuffer[8]&=cbit1
#define  clr9b  displayBuffer[8]&=cbit2
#define  clr9c  displayBuffer[8]&=cbit3
#define  clr9d  displayBuffer[8]&=cbit4
#define  clr9e  displayBuffer[8]&=cbit5
#define  clr9f  displayBuffer[8]&=cbit6
#define  clr9g  displayBuffer[8]&=cbit7	
#define  clr9h  displayBuffer[8]&=cbit8	
       
#define  clr10a  displayBuffer[9]&=cbit1
#define  clr10b  displayBuffer[9]&=cbit2
#define  clr10c  displayBuffer[9]&=cbit3
#define  clr10d  displayBuffer[9]&=cbit4
#define  clr10e  displayBuffer[9]&=cbit5
#define  clr10f  displayBuffer[9]&=cbit6
#define  clr10g  displayBuffer[9]&=cbit7	
#define  clr10h  displayBuffer[9]&=cbit8	
     
#define  clr11a  displayBuffer[10]&=cbit1
#define  clr11b  displayBuffer[10]&=cbit2
#define  clr11c  displayBuffer[10]&=cbit3
#define  clr11d  displayBuffer[10]&=cbit4
#define  clr11e  displayBuffer[10]&=cbit5
#define  clr11f  displayBuffer[10]&=cbit6
#define  clr11g  displayBuffer[10]&=cbit7	
#define  clr11h  displayBuffer[10]&=cbit8	
        
#define  clr12a  displayBuffer[11]&=cbit1
#define  clr12b  displayBuffer[11]&=cbit2
#define  clr12c  displayBuffer[11]&=cbit3
#define  clr12d  displayBuffer[11]&=cbit4
#define  clr12e  displayBuffer[11]&=cbit5
#define  clr12f  displayBuffer[11]&=cbit6
#define  clr12g  displayBuffer[11]&=cbit7	
#define  clr12h  displayBuffer[11]&=cbit8	
 
#define  clr13a  displayBuffer[12]&=cbit1
#define  clr13b  displayBuffer[12]&=cbit2
#define  clr13c  displayBuffer[12]&=cbit3
#define  clr13d  displayBuffer[12]&=cbit4
#define  clr13e  displayBuffer[12]&=cbit5
#define  clr13f  displayBuffer[12]&=cbit6
#define  clr13g  displayBuffer[12]&=cbit7	
#define  clr13h  displayBuffer[12]&=cbit8	
     
#define  clr14a  displayBuffer[13]&=cbit1
#define  clr14b  displayBuffer[13]&=cbit2
#define  clr14c  displayBuffer[13]&=cbit3
#define  clr14d  displayBuffer[13]&=cbit4
#define  clr14e  displayBuffer[13]&=cbit5
#define  clr14f  displayBuffer[13]&=cbit6
#define  clr14g  displayBuffer[13]&=cbit7	
#define  clr14h  displayBuffer[13]&=cbit8	
                          
#define  clr15a  displayBuffer[14]&=cbit1
#define  clr15b  displayBuffer[14]&=cbit2
#define  clr15c  displayBuffer[14]&=cbit3
#define  clr15d  displayBuffer[14]&=cbit4
#define  clr15e  displayBuffer[14]&=cbit5
#define  clr15f  displayBuffer[14]&=cbit6
#define  clr15g  displayBuffer[14]&=cbit7	
#define  clr15h  displayBuffer[14]&=cbit8	
                          
#define  clr16a  displayBuffer[15]&=cbit1
#define  clr16b  displayBuffer[15]&=cbit2
#define  clr16c  displayBuffer[15]&=cbit3
#define  clr16d  displayBuffer[15]&=cbit4
#define  clr16e  displayBuffer[15]&=cbit5
#define  clr16f  displayBuffer[15]&=cbit6
#define  clr16g  displayBuffer[15]&=cbit7	
#define  clr16h  displayBuffer[15]&=cbit8	

#define  clr17a  displayBuffer[16]&=cbit1
#define  clr17b  displayBuffer[16]&=cbit2
#define  clr17c  displayBuffer[16]&=cbit3
#define  clr17d  displayBuffer[16]&=cbit4
#define  clr17e  displayBuffer[16]&=cbit5
#define  clr17f  displayBuffer[16]&=cbit6
#define  clr17g  displayBuffer[16]&=cbit7	
#define  clr17h  displayBuffer[16]&=cbit8	
                  
#define  clr18a  displayBuffer[17]&=cbit1
#define  clr18b  displayBuffer[17]&=cbit2
#define  clr18c  displayBuffer[17]&=cbit3
#define  clr18d  displayBuffer[17]&=cbit4
#define  clr18e  displayBuffer[17]&=cbit5
#define  clr18f  displayBuffer[17]&=cbit6
#define  clr18g  displayBuffer[17]&=cbit7	
#define  clr18h  displayBuffer[17]&=cbit8	
                    
#define  clr19a  displayBuffer[18]&=cbit1
#define  clr19b  displayBuffer[18]&=cbit2
#define  clr19c  displayBuffer[18]&=cbit3
#define  clr19d  displayBuffer[18]&=cbit4
#define  clr19e  displayBuffer[18]&=cbit5
#define  clr19f  displayBuffer[18]&=cbit6
#define  clr19g  displayBuffer[18]&=cbit7	
#define  clr19h  displayBuffer[18]&=cbit8	
                         
#define  clr20a  displayBuffer[19]&=cbit1
#define  clr20b  displayBuffer[19]&=cbit2
#define  clr20c  displayBuffer[19]&=cbit3
#define  clr20d  displayBuffer[19]&=cbit4
#define  clr20e  displayBuffer[19]&=cbit5
#define  clr20f  displayBuffer[19]&=cbit6
#define  clr20g  displayBuffer[19]&=cbit7	
#define  clr20h  displayBuffer[19]&=cbit8	
                    
#define  clr21a  displayBuffer[20]&=cbit1
#define  clr21b  displayBuffer[20]&=cbit2
#define  clr21c  displayBuffer[20]&=cbit3
#define  clr21d  displayBuffer[20]&=cbit4
#define  clr21e  displayBuffer[20]&=cbit5
#define  clr21f  displayBuffer[20]&=cbit6
#define  clr21g  displayBuffer[20]&=cbit7	
#define  clr21h  displayBuffer[20]&=cbit8	
                            
#define setCurTempHA   	set7a;set7b;set7c;set7d;
#define setCurTempHB   	set7d;set7f;set8b;
#define setCurTempHC	set8b;set8d;set8h;
#define setCurTempHD	set8e;set8f;set8g;set8h;
#define setCurTempHE	set8e;set8c;set7g;
#define setCurTempHF	set7a;set7e;set7g;
#define setCurTempHG	set7g;set7h;set8a;set8b;

#define setCurTempLA 	set9a;set9b;set9c;set9d;
#define setCurTempLB 	set9d;set9f;set10b;
#define setCurTempLC	set10b;set10d;set10h;
#define setCurTempLD	set10h;set10g;set10f;set10e;
#define setCurTempLE	set10e;set10c;set9g;
#define setCurTempLF	set9a;set9e;set9g;
#define setCurTempLG	set9g;set9h;set10a;set10b;

#define setE1     setCurTempHA;setCurTempHD;setCurTempHE;setCurTempHF;setCurTempHG;setCurTempLC;setCurTempLB;

#define setE2 setCurTempHA;setCurTempHD;setCurTempHE;setCurTempHF;setCurTempHG;setCurTempLA; setCurTempLB;setCurTempLD;setCurTempLE;setCurTempLG;

#define setE4 setCurTempHA;setCurTempHD;setCurTempHE;setCurTempHF;setCurTempHG;setCurTempLB;setCurTempLC;setCurTempLF;setCurTempLG;

#define setNeiDanWenTu  set16b;set16c;set16d;

#define setJieNengMoShi    	set1a;set1b;set1c;set1d;
#define clrJieNengMoShi    	clr1a;clr1b;clr1c;clr1d;

#define setJiaRe 		   	set1e;set1f;set1g;set1h;

#define setZengRong 		set2a;set2b;set2c;set2d;
#define clrZengRong			clr2a;clr2b;clr2c;clr2d;

#define setFengGuYeDian		set2e;set2f;set2g;set2h;
#define clrFengGuYeDian		clr2e;clr2f;clr2g;clr2h;

#define setRedQuan  set3h;set3g;set3f;set3e;set3d;set3c;set3b;set3a;set4a;set4b;set4c;set4d;set4e;set4f;set4g;set4h;

#define setBulueQuan  set5h;set5g;set5f;set5d;set5c;set5e;set5b;set5a;set6a;set6b;set6c;set6d;set6e;set6f;set6g;set6h;

#define setWenDuTu  			set16a;

#define setNeiDanWenDu			set16b;set16c;set16d;

#define setDingShiKai			set11h;set12h;
#define clrDingShiKai			clr11h;clr12h;

#define setShiZhong 			set14h;
#define clrShiZhong				clr14h;

#define setDingShiGuan			set16e;set16f;
#define clrDingShiGuan			clr16e;clr16f;

#define setShiZhongTu			set13h;			

#define setReShuiLiang			set16g;set16h;

#define setBaiFenBi				set17h;

#define setBaoWen				set20a;set20b;set20c;set20d;

#define setBanDanSuRe			set20e;set20f;set20g;set20h;
#define clrBanDanSuRe			clr20e;clr20f;clr20g;clr20h;

#define setZhengDanJiaRe		set21c;set21d;set21a;set21b;
#define clrZhengDanJiaRe		clr21c;clr21d;clr21a;clr21b;

#define setSheZhiWenDu			set18h;set19h;

#define	 setFGYDOn		set12a;set12b;set12c;set12e;set12f;set12d;	set13a;set13b;set13c;set13e;set13f;			
#define  setFGYDOff		set12a;set12b;set12c;set12e;set12f;set12d;set13a;set13g;set13f;set13e;set14a;set14g;set14f;set14e;
#ifdef __display_c

uint8_t    displayBuffer[21] ;

uint8_t    bdata    d_seg;
sbit    f_seg_a=d_seg^0;
sbit    f_seg_b=d_seg^1;
sbit    f_seg_c=d_seg^2;
sbit    f_seg_d=d_seg^3;
sbit    f_seg_e=d_seg^4;
sbit    f_seg_f=d_seg^5;
sbit    f_seg_g=d_seg^6;
sbit    f_seg_h=d_seg^7;

uint8_t gear;
uint8_t clockHour;
uint8_t clockMin;
code const uint8_t displayFonts[10];
#else
extern code const uint8_t displayFonts[10];

extern uint8_t gear;
extern uint8_t clockHour;
extern uint8_t clockMin;
extern uint8_t displayBuffer[21] ;

extern uint8_t    bdata    d_seg;

#endif
void DengDai();
void		DisplayScan();
#endif
